﻿#region GNU GPL Version 3 License

/// Copyright 2013 Shailesh Lolam
/// 
/// This file RequestValidation.cs is part of AzEzAuto.
/// 
/// AzEzAuto is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
/// 
/// AzEzAuto is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
/// 
/// You should have received a copy of the GNU General Public License along with AzEzAuto. If not, see http://www.gnu.org/licenses/.
/// 
/// History:
/// ______________________________________________________________
/// Created         04-2013             Shailesh Lolam

#endregion
      
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XecMe.Core.Tasks;
using AzEzAuto.Entities.Requests;

namespace AzEzAuto.Orchestrate.Tasks
{
    public class RequestValidation : BaseTask
    {
        public override ExecutionState OnExecute(ExecutionContext context)
        {
            Request req = ReadInputQueue();
            
            ///Indicate that there is no work, can take a break
            if (req == null)
                return ExecutionState.Idle;

            if (string.IsNullOrEmpty(req.SubscriptionId))
            {
                req.Error = new Error() { RequestId = "-1", Code = "-1", Message = "Subscription Id is not provided for the request" };
                WriteToErrorQueue(req);
            }
            else
            {
                WriteToOutputQueue(req);
            }
            return ExecutionState.Executed;

        }
    }
}
